package cn.myframe.dao.sys;

import cn.myframe.entity.sys.SysUserEntity;
import cn.myframe.utils.core.BaseDao;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 系统用户
 * 
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2016年9月18日 上午9:34:11
 */
public interface SysUserDao extends BaseDao<SysUserEntity> {
	/**
	 * 查询用户的所有权限
	 * @param userId  用户ID
	 */
	List<String> queryAllPerms(Long userId);
	
	/**
	 * 查询用户的所有菜单ID
	 */
	List<Long> queryAllMenuId(Long userId);

	void updateStatus(@Param("ids") Long[] ids, @Param("status") Integer status);

    List<Long> selectIdsByCompanyIds(@Param("relCompanyIds") Collection<Long> relCompanyIds);

	int updatePassword(Map<String, Object> map);
	List<Long> queryDataUser(@Param(value="userId")Long userId, @Param(value="perms")String perms,@Param(value="companyNo")Long companyNo);
	/**
	 * 查询运营商下级运营商的所有用户
	 * @param companyNo
	 * @return
	 */
	List<Long> queryUserBySonCompany(@Param(value="companyNo")Long companyNo);
	
	
	/**
	 * 查找同一运营商的所有用户
	 * @param companyNo
	 * @return
	 */
	List<Long> queryUserByCompanyNo(@Param(value="companyNo")Long companyNo);
}
